home *** CD-ROM | disk | FTP | other *** search
-
- DISKED
- DISKETTE EDITOR
- (Release 1)
-
- Diskette Editor is a program that I wrote because I needed it. It
- basically is a sector editing program but could be used as just a
- "snooping" device. Unlike many others, it can read the "special"
- sectors that various programs use in their copy protection schemes.
- Diskette Editor is more of a tool, than a utility, for example, using
- it you can undelete files like many utilities, except it is not
- automatic; but this gives you more power.
-
- STARTING UP THE PROGRAM
-
- Diskette Editor is started by typing DISKED at the DOS prompt. No
- command line arguments are used. The screen that comes up after
- loading, is Diskette Editor's only screen. The screen has a great deal
- of information on it. (Note: All the numbers displayed and inputted in
- Diskette Editor, and the numbers in this manual, are in hexadecimal
- unless otherwise specified).
-
- GENERAL INFORMATION ON THE SECTOR EDITING SCREEN
-
- Diskette Editor's main screen has a lot of information on it, but it is
- organized in an efficient way. The screen is comprised of two colors.
- The colors vary according to the type of monitor you have, but one of
- the colors is bright and the other is dim. The brighter color is the
- highlight color. The highlight shows what key to press for what
- function. For instance, the command "Verify" has the "V" in the
- highlight color which signifies that it is executed by pressing the "V"
- key. Also, "Mask" has the "k" in highlight which shows "k" is pressed.
- From now on, the highlighted key will be written in between "[" and
- "]", so in the above examples, the verify command would be [V]erify,
- and the mask command would be Mas[k].
-
- To execute the commands the depression of the shift key is not
- necessary, but allowed. For most of the cases this will seem natural
- to you, but in others it is different from what you might expect. An
- illustration of one of these cases would be pressing the period key for
- the [>] command. This was done as a convenience.
-
- OVERVIEW OF THE SECTOR EDITING SCREEN
-
- The most noticeable part of the screen are the two windows. When the
- program first starts they are both blank except for a copyright notice
- in the left window. When a sector is read in from a diskette, its data
- is displayed in these two windows. The one on the left side of the
- screen (labeled "[H]exadecimal") displays the data in hexadecimal
- bytes. The window on the right (labeled "[A]SC II") is the same data
- in its corresponding ASC II (text) form. Exotic characters (not
- alphabetic, numerical, or punctuation marks) are displayed as periods.
- (To change this, see the Mas[k] command in COMMANDS OVERVIEW).
-
- The bottom-most line contains information on the current drive, side,
- track number, sector number, and sector size (in decimal). The two
- lines above the bottom-most line, contain a list of available commands
- in the highlighted form. For a description of the use of these
- commands, see the COMMANDS OVERVIEW section. The line above those is
- the status line. Most of the messages to you from Diskette Editor are
- displayed here.
-
- EDITING SECTOR DATA
-
- Before you can edit a sector, you must first read the data in from a
- diskette. The [R]ead command does this. It reads one sector from the
- current drive, side, and track. The windows are then filled with the
- data read from the diskette. When you first run Diskette Editor, the
- sector data buffer is filled with zeros, the current drive is A, the
- current side is 0, the current track is 00, and the current sector
- number is 01. This is the diskette's boot record which is read by the
- BIOS during a reboot.
-
- The default mode when Diskette Editor is started is hexadecimal. (This
- is changed with the [H]exadecimal and [A]SC II commands). A pointer
- highlights the current byte in the data, either the hexadecimal or the
- ASC II. The four arrow keys on the numeric keypad move it in the
- indicated directions. If you move the cursor into one of the four
- sides, the window will scroll, or the pointer will wrap, if there is
- more data in that direction. The [Home] key moves the pointer to the
- first byte of the first page, and the [End] key moves the pointer to
- the last byte of the last page. The [PgUp] key displays the previous
- page of data, if one exists, and the [PgDn] key displays the next page
-
- DISKED page 2
-
-
- of data, again if one exists.
-
- The two windows fit 256 bytes of data (one page). A normal diskette
- sector is 512 bytes so there are two pages. Using the keys mentioned
- in the above paragraph, it is possible to view all the data in a
- sector. Instead of using the [PgDn] key, you could press the cursor
- down key in the numeric keypad 16 times but the [PgDn] key is
- perceptibly faster.
-
- To change a byte use the [M]odify command. (The space bar also
- activates the modify command). This lets you change the byte being
- highlighted by the pointer. If you are in the hexadecimal mode, type
- in a new hexadecimal value; if in the ASC II mode, type the character
- to replace the highlighted. After a byte is modified the pointer is
- moved automatically to the next byte. To modify the next one you must
- either press the space bar or [M]odify.
-
- All the modifications that you make are to the sector data stored in
- the computer's memory, not the actual sector on the diskette. To save
- the changes that you made, use the [W]rite sector command. Be very
- careful when writing to the diskette!
-
- That is all that is required to know for basic diskette editing. But
- there is much more to Diskette Editor--read on!
-
- SCANNING A DISKETTE
-
- When a diskette is formatted, 40 (decimal) tracks are laid out on it.
- They are numbered from 00 to 27 (hexadecimal). Within each track there
- are sectors. In the earlier versions of DOS (1.x) there were only 08
- sectors in each track. With the later versions there are 09.
- Diskettes also have two sides (unless you have one of the older
- single-sided diskette drives) which are numbered 00 and 01. Some
- software comes on single-side diskettes which means that only one side
- of the diskette is being used.
-
- The above paragraph describes an ordinary diskette. But there are many
- "copy protection" schemes that entail using abnormal formats. A number
- of things can easily be done to copy protect a program. Giving sectors
- weird numbers is popular. The sector numbers can range from 00 to FF.
- Adding an extra track is also commonly done. Sector sizes can also be
- changed from 512 to 128, 256, or 1024 bytes (decimal). But the most
- popular of all these tricks is a combination of them. DOS (all
- versions) expects there to be 40 (decimal) tracks of 08, or 09, sectors
- of 512 (decimal) bytes. If this is not so, it reports a read error and
- no data is transferred. When DISKCOPY copys a disk, it produces a
- normally formatted diskette. When the "copy protected" program first
- runs, it checks to see if the diskette it was loaded off of has the
- extraordinary format, if not it was a DISKCOPYed copy so it aborts.
-
- The Sca[n] command is used to find these abnormal formats. When its
- window opens, it asks you the starting track. Enter the desired track
- number to start on or 00 to start with the first. It then asks you for
- the ending track. Enter it or 27 for the last. Next comes the lowest
- sector number to search for, then the highest. Diskette Editor's scan
- command will the proceed to look, starting from the starting track, for
- all the sectors of any size in the range entered for the sector
- numbers, to the ending track, reporting anything it finds. To read in
- an unusually sized sector, see the BYTES PER SECTOR option under
- DISKETTE PARAMETER TABLE.
-
- DISKETTE PARAMETER TABLE
-
- Between the two windows there is the diskette parameter table and it is
- labeled as so. This table controls how the diskette drives will act.
- Most of the values in the table should not be changed unless you know
- what you are doing. But there are a couple that will be very helpful.
- Here is the table:
-
- Diskette Parameter Table
- Byte # Default Value Description
- 0 DF 1st nibble stop rate for drive head
- 2nd nibble disk head unload time
- 1 02 1st nibble disk head load time
- 2nd nibble DMA mode select
- 2 25 Wait time before motor off
- *3 02 Bytes per sector
- *4 09 Highest sector number on track
-
-
- DISKED page 3
-
- 5 2A Gap length between sectors
- 6 FF Data length value
- 7 50 Formatting gap length
- 8 F6 Formatting fill byte
- 9 00 Head settle time
- 10 02 Motor start delay
-
- Only table values with asterisks should be modified unless you are
- familiar with diskette drive operations (i.e. you understand the
- descriptions) otherwise you can damage your diskette drives. Two
- things you should note are some of the default values vary with DOS,
- and in Diskette Editor the descriptions are abbreviated.
-
- To modify a value in the table, press the highlighted number next to
- the one you want. The last option does not have a "10" next to it,
- instead it has an "X". To modify it press the [X] key. The original
- table is restored when you exit from Diskette Editor.
-
- BYTES PER SECTOR (3) -- this is the one you will want to play around
- with the most. Changing this will enable you to read in some "copy
- protected" sectors. This controls the number of bytes per sector. If
- you enter a 00 there is 128 bytes per sector, a 01 there are 256 bytes
- per sector, a 02 (normal) there are 512 bytes per sector, or a 03 1024
- bytes per sector. Any other number is invalid, but Diskette Editor
- will not warn you of this. To find out how to locate unusual sized
- sectors, see the Sca[n] command. To read an abnormally sized sector
- reported by the Sca[n] command, the current sector size must match the
- size revealed. To find out how to create your own unusual sized
- sectors, see the [F]ormat command.
-
- HIGHEST SECTOR NUMBER ON TRACK (4) -- this is used by Diskette Editor's
- [+] and [-] (see below) commands. It controls when the current sector
- number will wrap back to a 01. Under DOS 1.x the default value is 08
- (8 sectors per track), and under DOS 2.x and 3.x it is a 09 (9 sectors
- per track).
-
- COMMANDS OVERVIEW
-
- [ESC]--cancels a command or input at any time.
-
- [H]exadecimal--switches the current mode to hexadecimal. The
- highlighted cursor will move to the left window if it was in the
- right. [M]odifications will be in hexadecimal.
-
- [A]SC II--switches the current mode to ASC II (text mode). The
- highlighted cursor will move to the right window if it was in the
- left. [M]odifications will be in ASC II.
-
- [M]odify--lets you change the byte being highlighted by the pointer.
- If the mode is ASC II, type the appropriate character otherwise type
- in the desired hexadecimal value.
-
- [R]ead--reads in the current sector. The information line
- (bottom-most) tells where the current sector is located.
-
- [W]rite--writes the sector data stored in the computer's memory to the
- diskette. Be careful to write the sector to the same place you read
- it from unless you are specifically copying the data. A yes/no
- warning is given before the data is written.
-
- [V]erify--verifies that the current sector is readable. The sector
- data is not transferred to the sector data buffer in the computer's
- memory.
-
- [D]rive--toggles between drive A and drive B. Note: Diskette Editor
- does not support a hard disk, so the drives are limited to A and B.
-
- [T]rack--allows you to type in a track number for the current track.
- If Auto-Read is on, the current sector is read from the new track.
- Entering a track number greater than 27 results in a warning with an
- "Are you sure?"
-
- [S]ector--allows you to enter a new sector number for the current
- sector number. Valid sectors numbers are from 00 to FF, although
- normal sector numbers range from 01 to 09. If Auto-Read is on, the
- new sector is read.
-
-
-
-
-
- DISKED page 4
-
- [+]--the plus key increments the current sector number by one and reads
- it from the diskette if auto-read is on (see A[u]to Read). If the
- current sector number is the highest sector number on the track,
- then the current sector number will be 01. (To change the highest
- value see HIGHEST SECTOR NUMBER ON TRACK under the DISKETTE
- PARAMETER TABLE section).
-
- [-]--the minus key decrements the current sector number by one and
- reads it from the diskette if auto-read is on. If the current
- sector number is 01, the current sector number becomes the highest
- sector number on the track.
-
- [<]--the less than sign key decrements the current track number by one
- and reads in the current sector off of the new track if auto-read is
- on. If the current track was 01, the current track becomes 27.
-
- [>]--the greater than sign key increments the current track number by
- one and reads in the current sector off of the new track if
- auto-read is on. If the current track was 27, the current track
- becomes 01.
-
- S[i]de--flips the side of the diskette being edited. If Auto- Read is
- on, the sector from the opposite side is read.
-
- A[u]to Read--toggles Auto-Read on/off. If Auto-Read is ON, all
- commands that change the position of the current sector ([+], [-],
- [T]rack, etc.) will automatically read in the resulting sector. The
- default value is ON.
-
- Clr Key Buffer[:]--(Clear keyboard type-ahead buffer)--toggles the
- flushing of the keyboard type ahead-buffer on/off. If OFF,
- characters may be typed before a prompt for them is given. If ON,
- those characters are flushed.
-
- [ALT-R]--[hold ALTERNATE key then press "R"]--Resets the disk system.
- This command should ordinarily not be needed.
-
- [F9]--changes the highlight text color.
-
- [F10]--changes the normal text color.
-
- Mas[k]--controls the ASC II display. Normally non-text characters are
- displayed as periods. Diskette Editor determines if a character is
- a valid text character by checking to see if it is above a low value
- and if it is below a high value. Mas[k] lets you change these high
- and low values. (Low value of 00 and a high value of FF disables
- the character masking). After you change the lower and upper
- bounds, you then can modify the character used as the mask
- character. (Normally a period).
-
- Fil[l]--fills the sector data buffer with a specified byte. This does
- not change the sector on the diskette unless you use the [W]rite
- command.
-
- S[e]arch--searches a user specified range on the diskette for a pattern
- of hexadecimal or ASC II (text) data. Enter the data in either
- hexadecimal or ASC II (as you indicate). Then enter the starting
- and ending track and sector numbers. Diskette Editor will then ask
- if you want to search both sides, meaning side 0 and side 1 of the
- diskette.
-
- To Diskette Editor a match is when the data is exactly the same. So
- "Are you sure?" does not match "ARE YOU SURE?" There is one case when
- Diskette Editor treats a partial match as a whole match. This is when
- Diskette Editor is scanning the edge of the sector data buffer. If you
- have it search for "password" and at the end of its buffer there is
- "passw" a match would be found. Quite often, a sector ends with the
- same byte as the data you are searching for begins. Diskette Editor
- treats this also as a match, although it might not be. Be wary when a
- match occurs at offset 1FF (for a sector size of 512 bytes).
-
- When a match is found, you have the option of searching for the next
- occurrence of the search data, or view the data previously found. To
- view the matched data just found, press the ESC key, otherwise press
- any other key to continue the search.
-
-
-
-
-
-
- DISKED page 5
-
- WARNING WARNING --POTENTIALLY DANGEROUS COMMAND-- WARNING WARNING
- \/
-
- [F]ormat--formats the current track to your specifications. (For a
- complete description of a diskette see SCANNING A DISKETTE above).
- The drive and track number that will be formatted are displayed.
- You are then asked for the number of sectors on the track. This can
- range from 01 to FF, but only low numbers will actually work; if the
- number is too big the sectors will overlap on the track.
-
- Diskette Editor will then ask information about each sector. The
- sectors are stored sequentially on the track, but the they can be
- called by any number desired. Diskette Editor displays the physical
- sector number and asks what logical sector number you want it
- called. The logical number can range from 00 to FF. In DOS 1.x,
- there are 8 sectors per track and they number from 01 to 08. In DOS
- 2.x and 3.x there are 9 sectors per track and they number from 01 to
- 09. If you give your sectors any other numbers DOS will be unable
- to read them. This is used in some "copy-protection" schemes.
-
- Diskette Editor will ask you the size of the sector. The sector
- can be 128, 256, 512, or 1024 bytes in length. Normally sectors are
- 512 bytes. When prompted, enter a 0 for 128 bytes, a 1 for 256
- bytes, a 2 for 512 bytes, or a 3 for 1024 bytes. This is another
- "copy-protection" method used by some companies. Most often a
- combination of weird sector numbers and sizes are used. (See the
- Sca[n] command to find out if a track contains any of these weird
- combinations).
-
- After all the information about the track is entered, a final yes/no
- warning message is displayed. If you answer yes, the track is
- formatted. This DESTROYS ALL THE DATA that was on that track. Be
- very, very careful with this command. I recommend that you never
- use this command unless you have a good reason to.
-
- Sca[n]--see SCAN A DISKETTE above for a complete description of the
- Sca[n] command and disk formats.
-
- [C]onvert--converts, for your convenience, a number from either
- hexadecimal or decimal to its equivalent hexadecimal or decimal form
- on the display.
-
- [Q]uit--exits Diskette Editor.
-
- Diskette Editor warns you before it does anything potentially
- dangerous, but be very careful when you use it; you can accidentally
- lose an entire diskette's data.
-
- Diskette Editor belongs to the U.S.S. crowd. (User Supported
- Software). You are given a trial period of two weeks in which you can
- use it at no cost. If you use it after the trial period you must
- register your copy for $30.00. If you register or not you are
- encouraged to distribute copies of Diskette Editor as long as there is
- not a disk fee of more than $10.00. My name and address for
- registration, comments, or bug reports is:
-
- Paul Troiano
- 531 Village Road West
- Princeton Jct, NJ 08550
-
- Diskette Editor has no warranty implied or expressed. In no event will
- the author be held liable for damages caused by the use of this
- program.
-
-
- ------------------------------------------------------------
-
- This disk copy provided as a service of
-
- The Public (Software) Library
-
- the software library of
- The Houston Area League of PC Users
-
-
- For a copy of the latest monthly software library newsletter
- and a list of the 600+ disks in the library, call or write
-
- The Public (Software) Library
- P.O.Box 35705
- Houston, TX 77235-5705
- (713) 721-6104
-
- Newsletter subscriptions are available for $12 a year.
-